#include<iostream>
#include<unordered_map>
using namespace std;
const int N=110,M=1e9+7;
int main(){
    int t;
    cin>>t;
    unordered_map<int,int> prim;
    while(t--){
        int n;
        cin>>n;
        for(int i=2;i<=n/i;i++){
            while(n%i==0){
                n/=i;
                prim[i]++;
            }
        }
        if(n>1)prim[n]++;
    }
    
    long long ans=1;
    for(auto it:prim){
        ans=ans*(it.second+1)%M;
    }
    cout<<ans%M;
    
    
    return 0;
}
